\begin{frame}
\frametitle{Interfaces en ligne de commande}
\emphcouleur{Étapes de la création de l'interface}
\begin{itemize}
 \item Définition de groupes d'options
 \item Définition d'options (--make par exemple)
 \item Connexion entre les options et le handler
\end{itemize}

\emphcouleur{Étapes lors de l'exécution du code}
\begin{itemize}
 \item Les arguments de la ligne de commande (sys.argv) sont analysés
 \item Les valeurs des options correspondantes sont enregistrées
 \item Le traitement correspondant est exécuté
\end{itemize}

\emphcouleur{Important}
\begin{itemize}
 \item classes pylot utilisent le module standard \class{optparse}
\end{itemize}

\end{frame}

\begin{frame}
\frametitle{Interface graphique}
\emphcouleur{Principe de fonctionnement}
\begin{itemize}
 \item Une fenêtre est un \guill{empilement} de widgets
 \item Les widgets reçoivent des évenements (clic de l'utilisateur par exemple)
 \item Le widget traduit l'évenement en SIGNAL
 \item À un SIGNAL est associé une action, lorsque le SIGNAL est émis, l'action associée est exécutée
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Interface graphique}
\emphcouleur{Étapes de création}
\begin{itemize}
 \item Créer le widget et les actions à l'aide du designer
 \item Créer les menus et barres d'outils
 \item Implémenter les fonctions de remplissage des menus et barres d'outils
 \item Implémenter les fonctions de traduction
 \item Implémenter les fonctions de rafraichissement de l'interface
\end{itemize}
\end{frame}


\begin{frame}
\frametitle{Aides et résumés}
\emphcouleur{Utiliser les plugins existants}
\begin{itemize}
 \item \plugin{empty} : plugin minimal
 \item \plugin{sample} : plugin simple avec signaux et préférences
 \item \plugin{test\_io} : plugin simple avec exécution de commandes shell
 \item \plugin{info} : plugin simple avec menu uniquement (pas de widgets)
 \item \plugin{tools\_i18n} : plugin complet relativement simple
 \item \plugin{plugin\_editor} : exemple de combinaison de plugins
\end{itemize}

\n

\objectif{De très nombreux cas sont traités dans les plugins par défaut}
% \begin{itemize}
%  \item génération dynamique d'options et boutons en fonction du niveau
%  \item connexions entre plugins
%  \item plugins avec plusieurs widget ou sans wsidgets
% \end{itemize}

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
 \frametitle{Stoooooooop !!!}
 \emphcouleur{Suite à 14h}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
